home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / djapi / djapi.ctl < prev    next >
Text File  |  1999-09-06  |  11KB  |  317 lines

  1. VERSION 5.00
  2. Begin VB.UserControl DJApi 
  3.    Appearance      =   0  'Flat
  4.    BackColor       =   &H80000005&
  5.    BorderStyle     =   1  'Fixed Single
  6.    CanGetFocus     =   0   'False
  7.    ClientHeight    =   330
  8.    ClientLeft      =   0
  9.    ClientTop       =   0
  10.    ClientWidth     =   765
  11.    InvisibleAtRuntime=   -1  'True
  12.    ScaleHeight     =   330
  13.    ScaleWidth      =   765
  14.    ToolboxBitmap   =   "DJApi.ctx":0000
  15.    Begin VB.Label Label3 
  16.       Appearance      =   0  'Flat
  17.       AutoSize        =   -1  'True
  18.       BackColor       =   &H80000005&
  19.       Caption         =   "www.toolcity.net/~djcomlab"
  20.       ForeColor       =   &H80000008&
  21.       Height          =   195
  22.       Left            =   15
  23.       TabIndex        =   2
  24.       Top             =   525
  25.       Width           =   1980
  26.    End
  27.    Begin VB.Label Label2 
  28.       Appearance      =   0  'Flat
  29.       AutoSize        =   -1  'True
  30.       BackColor       =   &H80000005&
  31.       Caption         =   "(c)1999 DJ's Computer Labs"
  32.       ForeColor       =   &H80000008&
  33.       Height          =   195
  34.       Left            =   15
  35.       TabIndex        =   1
  36.       Top             =   315
  37.       Width           =   1995
  38.    End
  39.    Begin VB.Label Label1 
  40.       Appearance      =   0  'Flat
  41.       AutoSize        =   -1  'True
  42.       BackColor       =   &H80000005&
  43.       Caption         =   "Label1"
  44.       ForeColor       =   &H80000008&
  45.       Height          =   195
  46.       Left            =   45
  47.       TabIndex        =   0
  48.       Top             =   45
  49.       Width           =   480
  50.    End
  51. End
  52. Attribute VB_Name = "DJApi"
  53. Attribute VB_GlobalNameSpace = False
  54. Attribute VB_Creatable = True
  55. Attribute VB_PredeclaredId = False
  56. Attribute VB_Exposed = False
  57. Private Declare Function EnumChildren Lib "user32" Alias "EnumChildWindows" _
  58. (ByVal hWndParent As Long, ByVal lpEnumFunc As Long, _
  59. ByVal lParam As Long) As Long
  60.  
  61. Private Declare Function GetWin Lib "user32.dll" Alias "GetWindow" (ByVal hWnd As Long, ByVal wCmd As Long) As Long
  62. Enum GetWindow
  63.   GW_HWNDFIRST = 0
  64.   'The highest window in the Z-order having the same parent as the given window.
  65.   GW_HWNDLAST = 1
  66.   'The lowest window in the Z-order having the same parent as the given window.
  67.   GW_HWNDNEXT = 2
  68.   'The window below the given window in the Z-order.
  69.   GW_HWNDPREV = 3
  70.   'The window above the given window in the Z-order.
  71.   GW_OWNER = 4
  72.   'The window that owns the given window (not to be confused with the parent window).
  73.   GW_CHILD = 5
  74.   'The topmost of the given window's child windows. This has the same effect as using the GetTopWindow function.
  75. End Enum
  76.  
  77. Private Declare Function GetWinText Lib "user32" Alias "GetWindowTextA" (ByVal hWnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
  78.  
  79. Private Declare Function GetWindowTextLength Lib "user32" Alias "GetWindowTextLengthA" (ByVal hWnd As Long) As Long
  80.  
  81. Private Declare Function IsThisWindow Lib "user32.dll" Alias "IsWindow" (ByVal hWnd As Long) As Long
  82.  
  83. Private Declare Function GetParenthWnd Lib "user32.dll" Alias "GetParent" (ByVal hWnd As Long) As Long
  84.  
  85. Private Declare Function SetParenthWnd Lib "user32.dll" Alias "SetParent" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
  86.  
  87. Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction _
  88. As Long, ByVal uParam As Long, ByVal lpvParam As Any, ByVal fuWinIni As Long) As Long
  89.  
  90. Private Declare Function ComputerName Lib "kernel32.dll" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long
  91.  
  92. Private Declare Function MoveWindow Lib "user32.dll" Alias "SetWindowPos" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
  93.  
  94. Private Declare Function GetWindow Lib "user32.dll" Alias "GetWindowRect" (ByVal hWnd As Long, lpRect As Rect) As Long
  95.  
  96. '''''''''''''''''''''''''''''''''''''''''''''''''
  97. ''''''hide taskbar'''''''''''''''''''''''''''''
  98. Private Declare Function ShowWindow Lib _
  99. "user32" (ByVal hWnd As Long, _
  100. ByVal nCmdShow As Long) As Long
  101.  
  102. Private Declare Function FindWindow Lib _
  103. "user32" Alias "FindWindowA" _
  104. (ByVal lpClassName As String, _
  105. ByVal lpWindowName As String) _
  106. As Long
  107.  
  108. '''''''''''''''''''''''''''''''''''''''''''''''''''
  109. ''''''togglelock''''''''''''''''''''''''''''''''''''
  110. Enum LockKeys
  111.   VK_CAPITAL = &H14
  112.   VK_NUMLOCK = &H90
  113.   VK_SCROLL = &H91
  114. End Enum
  115.  
  116. Private Type KeyboardBytes
  117.      kbByte(0 To 255) As Byte
  118. End Type
  119.  
  120. Private kbArray As KeyboardBytes
  121.  
  122. 'Private Declare Function GetKeyState Lib "user32" _
  123. '(ByVal nVirtKey As Long) As Long
  124.  
  125. Private Declare Function GetKeyboardState Lib "user32" _
  126. (kbArray As KeyboardBytes) As Long
  127.  
  128. Private Declare Function SetKeyboardState Lib "user32" _
  129. (kbArray As KeyboardBytes) As Long
  130.  
  131. '''''''''''''''''''''''''''''''''''''''''''''
  132. ''''remove close 'x' button''''''''''''''''''
  133. Private Declare Function GetSystemMenu Lib "user32" _
  134. (ByVal hWnd As Long, ByVal bRevert As Long) As Long
  135.  
  136. Private Declare Function GetMenuItemCount Lib "user32" _
  137. (ByVal hMenu As Long) As Long
  138.  
  139. Private Declare Function DrawMenuBar Lib "user32" _
  140. (ByVal hWnd As Long) As Long
  141.  
  142. Private Declare Function RemoveMenu Lib "user32" _
  143. (ByVal hMenu As Long, ByVal nPosition As Long, _
  144. ByVal wFlags As Long) As Long
  145.  
  146. Const MF_BYPOSITION = &H400&
  147. Const MF_REMOVE = &H1000&
  148. ''''''''''''''''''''''''''''''''''''''''''''
  149.  
  150. Const SWP_FRAMECHANGED = &H20
  151. Const SWP_DRAWFRAME = SWP_FRAMECHANGED
  152. Const SWP_HIDEWINDOW = &H80
  153. Const SWP_NOACTIVATE = &H10
  154. Const SWP_NOCOPYBITS = &H100
  155. Const SWP_NOMOVE = &H2
  156. Const SWP_NOSIZE = &H1
  157. Const SWP_NOREDRAW = &H8
  158. Const SWP_NOZORDER = &H4
  159. Const SWP_SHOWWINDOW = &H40
  160.  
  161. Private Type Rect
  162.   Left As Long
  163.   Top As Long
  164.   Right As Long
  165.   Bottom As Long
  166. End Type
  167.  
  168. Enum ZOrder
  169.   HWND_BOTTOM = 1
  170.   HWND_NOTOPMOST = -2
  171.   HWND_TOP = 0
  172.   HWND_TOPMOST = -1
  173. End Enum
  174. Enum OnOff
  175.   [Turn Off] = -1
  176.   [Turn On] = 1
  177. End Enum
  178. Private m_vShow As Boolean
  179.  
  180. 'Load property values from storage
  181. Private Sub UserControl_ReadProperties(PropBag As PropertyBag)
  182.   Label1.Caption = Extender.Name
  183.   m_vShow = True
  184. End Sub
  185.  
  186. Private Sub UserControl_InitProperties()
  187.   Label1 = Extender.Name
  188.   m_vShow = True
  189. End Sub
  190.  
  191. Public Function GetComputerName() As String
  192. Attribute GetComputerName.VB_Description = "Returns the network name of the user's computer."
  193.   Dim compname As String * 255, cname As String
  194.   
  195.   Call ComputerName(compname, 255)
  196.   cname = Trim(compname)
  197.   GetComputerName = Left(cname, Len(cname) - 1)
  198. End Function
  199.  
  200. Public Sub DisableSystemKeys(ByVal bDisabled As Boolean)
  201. Attribute DisableSystemKeys.VB_Description = "Toggle the enabled property of ctl-alt-del, ctl-esc, atl-tab, and win95 keyboard keys. Its all or nothing as there is no way to specify which system keys to toggle."
  202.   Call SystemParametersInfo(97, bDisabled, CStr(1), 0)
  203. End Sub
  204.  
  205. Public Function GetParent(ByVal hWnd As Long) As Long
  206. Attribute GetParent.VB_Description = "Returns the handle of the parent window of another window. For example, the parent of a button would normally be the form window it is in."
  207.   GetParent = GetParenthWnd(hWnd)
  208. End Function
  209.  
  210. Public Sub SetParent(ByVal Child_hWnd As Long, ByVal NewParent_hWnd As Long)
  211. Attribute SetParent.VB_Description = "Moves a window from having one parent window to another. If needed, the window itself moves so it can be ""inside"" its new parent."
  212.   Call SetParenthWnd(Child_hWnd, NewParent_hWnd)
  213. End Sub
  214.  
  215. Public Sub SetWindowPos(ByVal hWnd As Long, Order As ZOrder, _
  216. ByVal Left As Single, ByVal Top As Single)
  217. Attribute SetWindowPos.VB_Description = "Moves a window to a new location. Its physical coordinates, dimensions, and Z-order position (the Z-order determines which windows are on top of others) can be set."
  218.   Dim flags As Long
  219.   Left = Left / Screen.TwipsPerPixelX
  220.   Top = Top / Screen.TwipsPerPixelY
  221.   flags = SWP_NOSIZE Or SWP_DRAWFRAME  ' don't resize, but redraw window
  222.   Call MoveWindow(hWnd, Order, Left, Top, 0, 0, flags)
  223. ' (the cx and cy parameters are ig